/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package ProyectoBienestarUniversitarioComfenalcoCulturalis.src.java.mvc.dao;

import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.LinkedList;
import mvc.modelos.HistoriaClinica;

/**
 *
 * @author pezcado
 */
public class HistoriaClinicaDAO extends Model implements IDAO<HistoriaClinica> {
    
    private PreparedStatement consultar;
    private PreparedStatement insertar;
    private PreparedStatement modificar;
    private PreparedStatement eliminar;
    private PreparedStatement listar;
    private Model model;

    public HistoriaClinica consultar(int codigo) throws SQLException {
        model= model.getInstance();
        String sql="select codigo, nombreEnfermedad, medicamento, id, estado, descripcion from HistoriaClinica "
                + "where codigo="+codigo;
        consultar=model.getCon().prepareStatement(sql);
        ResultSet resultSet= consultar.executeQuery();
        HistoriaClinica historiaClinica= new HistoriaClinica();
            
        try{
            resultSet.next();
            
            historiaClinica.setCodigo(resultSet.getInt("codigo"));
            historiaClinica.setNombreEnfermedad(resultSet.getString("nombreEnfermedad"));
            historiaClinica.setMedicamento(resultSet.getString("medicamento"));
            historiaClinica.setId(resultSet.getInt("id"));
            historiaClinica.setEstado(resultSet.getString("estado"));
            historiaClinica.setDescripcion(resultSet.getString("descripcion"));
            
            //return historiaClinica;
        }catch(Exception e){
            
        }
        return historiaClinica;
        
    }

    public void insertar(HistoriaClinica IDAO) throws SQLException {
        model= model.getInstance();
        if(insertar==null){
            String sql="insert into HistoriaClinica (codigo, nombreEnfermedad, medicamento, id, estado, "
                + "descripcion) values(?,?,?,?,?,?)";
            insertar= model.getCon().prepareStatement(sql);
        }
        insertar.setInt(1, IDAO.getCodigo());
        insertar.setString(2, IDAO.getNombreEnfermedad());
        insertar.setString(3, IDAO.getMedicamento());
        insertar.setInt(4, IDAO.getId());
        insertar.setString(5, IDAO.getEstado());
        insertar.setString(6, IDAO.getDescripcion());
        
        insertar.executeUpdate();
    }

    public void modificar(HistoriaClinica IDAO) throws SQLException {
        model= model.getInstance();
        String sql="update HistoriaClinica set"
                + "nombreEnfermedad='"+IDAO.getNombreEnfermedad()+"',"
                + "medicamento='"+IDAO.getMedicamento()+"',"
                //+ "id="+IDAO.getId()+","
                + "estado='"+IDAO.getEstado()+"',"
                + "descripcion='"+IDAO.getDescripcion()+"'"
                + "where codigo="+IDAO.getCodigo();
        modificar=model.getCon().prepareStatement(sql);
        
        modificar.executeUpdate();
    }

    public void eliminar(HistoriaClinica IDAO) throws SQLException {
        model= model.getInstance();
        String sql="delete from HistoriaClinica where codigo="+IDAO.getCodigo();
        eliminar=model.getCon().prepareStatement(sql);
        
        eliminar.executeUpdate();
    }

    public LinkedList<HistoriaClinica> listar() throws SQLException {
        throw new UnsupportedOperationException("Not supported yet.");
    }
    
}
